"""
设备异常处理模块

本文件定义了与脑波设备相关的自定义异常类，用于处理设备连接、数据传输等异常情况。
使用方法：在设备操作中抛出相应的异常，便于上层代码进行错误处理和用户提示。
原理：通过继承Python内置异常类，创建具有特定语义的异常类型，提高代码的可读性和维护性。
"""


class DeviceException(Exception):
    """设备异常基类"""
    def __init__(self, message: str = "设备操作异常"):
        self.message = message
        super().__init__(self.message)


class DeviceConnectionException(DeviceException):
    """设备连接异常"""
    def __init__(self, message: str = "设备连接失败"):
        super().__init__(message)


class DeviceNotFoundException(DeviceException):
    """设备未找到异常"""
    def __init__(self, message: str = "未找到指定设备"):
        super().__init__(message)


class DeviceTimeoutException(DeviceException):
    """设备超时异常"""
    def __init__(self, message: str = "设备操作超时"):
        super().__init__(message)


class DevicePortException(DeviceException):
    """设备端口异常"""
    def __init__(self, message: str = "设备端口错误"):
        super().__init__(message)


class DeviceDataException(DeviceException):
    """设备数据异常"""
    def __init__(self, message: str = "设备数据错误"):
        super().__init__(message)


class DeviceDisconnectedException(DeviceException):
    """设备断开连接异常"""
    def __init__(self, message: str = "设备已断开连接"):
        super().__init__(message)